<?php 
require_once '../Generique/header_complet.php';
require_once "../Securite/parser_chaines.php";
?>



<?php
	
	$bdd = ouvrirBase();
	if( isset( $_SESSION['nom'], $_SESSION['idChapitrePrecedent'] ) && verifierAuteur( $bdd ) && verifierChapitre($bdd, $_SESSION['idChapitrePrecedent'])
		&&( verifierPageChapitre( $bdd , 1 ) || ( verifierPageChapitre( $bdd , 2 ) && isset( $_SESSION['modeCreationChapitre'] ) && $_SESSION['modeCreationChapitre'] == 2 ) ) )
	{
		if( verifier_token(3600, 'Pages/ajoutChapitre.php', 'droitEcriture', 'tokenE') )
		{
			if(verifier_token(3600, 'Pages/ajoutChapitre.php' ,  'ajout_chap', 'tokenCA'))
			{
				
				$histoire = getHistoire($bdd, $_SESSION['idChapitrePrecedent']);
				
				if( isset($_POST['suite1'], $_POST['suite2'], $_POST['suite3'] ) || (isset( $_SESSION['modeCreationChapitre'] ) && $_SESSION['modeCreationChapitre'] == 2 ) )
				{	
					$token = generer_token('ajout_chap');	// on regénère un token de façon à ne pas pouvoir poster plusieurs fois
					$etape = 0;
					
					$token = generer_token('droitEcriture');	// on regénère un token de façon à ne pas pouvoir poster plusieurs fois
					$etape = 0;
				
					$req = $bdd->prepare('SELECT etape FROM dil_chapitres WHERE dil_chapitres.id = :id ');
					$req->bindValue('id',$_SESSION['idChapitrePrecedent'], PDO::PARAM_INT);
					$req->execute();
					$donnees = $req->fetch();
					
					$etape = $donnees['etape']+1;
					
					$req2 = $bdd->prepare('INSERT INTO dil_chapitres( titre, idHistoire, description, descChoix1, descChoix2, descChoix3, idPageChoix1, idPageChoix2, idPageChoix3, pseudo, niveau, etape , autorise )
														 VALUES( :titre, :idHistoire, :description, :descChoix1, :descChoix2, :descChoix3, -1, -1, -1, :auteur, :niveau, :etape , true )');

														 
														 
					if( isset( $_SESSION['modeCreationChapitre'] ) && $_SESSION['modeCreationChapitre'] == 2 )
					{
						
						$req2->bindValue('titre', $_POST['titre'], PDO::PARAM_STR);
						$req2->bindValue('idHistoire',$histoire, PDO::PARAM_INT);
						$req2->bindValue('description',$_POST['corpsText'], PDO::PARAM_STR);
						$req2->bindValue('descChoix1',"", PDO::PARAM_STR);
						$req2->bindValue('descChoix2',"", PDO::PARAM_STR);
						$req2->bindValue('descChoix3', "", PDO::PARAM_STR);
						$req2->bindValue('auteur',$_SESSION['nom'], PDO::PARAM_STR);
						$req2->bindValue('niveau',$_SESSION['niveau'], PDO::PARAM_INT);
						$req2->bindValue('etape',$etape, PDO::PARAM_INT);
					
					}
					else
					{
						$req2->bindValue('titre', $_POST['titre'], PDO::PARAM_STR);
						$req2->bindValue('idHistoire',$histoire, PDO::PARAM_INT);
						$req2->bindValue('description',$_POST['corpsText'], PDO::PARAM_STR);
						$req2->bindValue('descChoix1', $_POST['corpsChoix1'], PDO::PARAM_STR);
						$req2->bindValue('descChoix2',$_POST['corpsChoix2'], PDO::PARAM_STR);
						$req2->bindValue('descChoix3', $_POST['corpsChoix3'], PDO::PARAM_STR);
						$req2->bindValue('auteur',$_SESSION['nom'], PDO::PARAM_STR);
						$req2->bindValue('niveau',$_SESSION['niveau'], PDO::PARAM_INT);
						$req2->bindValue('etape',$etape, PDO::PARAM_INT);
					}
					$req2->execute();
					
					$id = $bdd->prepare( 'SELECT LAST_INSERT_ID()' );
					$id->execute();
					$donnees = $id->fetch();
					$nouveau_chapitre = $donnees['LAST_INSERT_ID()'];

					$req2 = $bdd->prepare('UPDATE dil_chapitres SET idPageChoix' . $_SESSION['numeroChoix'] . ' = :choix WHERE id = :id ');
					$req2->bindValue('choix', $nouveau_chapitre, PDO::PARAM_INT);
					$req2->bindValue('id', $_SESSION['idChapitrePrecedent'], PDO::PARAM_INT);
					$req2->execute();
					
					$req2 = $bdd->prepare('SELECT * FROM dil_histoires WHERE dil_histoires.id = :id ');
					$req2->bindParam('id',$histoire, PDO::PARAM_INT);
					$req2->execute();
					$donnees = $req2->fetch();
					$taille = $donnees['taille'];
					$taille = $taille +1;
					
					$req2 = $bdd->prepare('UPDATE dil_histoires SET taille = :taille WHERE id = :id ');
					$req2->bindParam('taille', $taille , PDO::PARAM_INT);
					$req2->bindParam('id',$histoire, PDO::PARAM_INT);
					$req2->execute();
					
					if( !(isset( $_SESSION['modeCreationChapitre'] ) && $_SESSION['modeCreationChapitre'] == 2) )
					{
						for( $i = 1 ; $i < 4 ; $i++ )
						{
							$req2 = $bdd->prepare('UPDATE dil_chapitres SET idPageChoix' . $i . ' = :choix WHERE id = :id ');
							$req2->bindValue('choix',$_POST['suite' . $i ], PDO::PARAM_INT);
							$req2->bindValue('id', $nouveau_chapitre , PDO::PARAM_INT);
							$req2->execute();
						}
					}
					
					$notification = 'Ajout reussi';
				}
				else
				{
					$notification = 'Ajout raté : champs non remplis.';
				}
			}
			else
			{
				$notification = "Le formulaire a été soumis il y a trop longtemps, veuillez recommencer.";
			}
		}
		else
		{
			$notification = 'Session en ecriture plus valide : une autre session a été ouverte.';
		}
	}
	else
	{
		$notification = 'Cette page n\'est pas accessible sans passer par les pages d\'ajout précédentes';
	}
	
		//ZONE DE NOTIFICATION : pour l'affichage des différentes notifications
	echo '
		<div id="notification">
			'.$notification.'
		</div>';
	if(isset($_SESSION['idChapitrePrecedent'] )){
		echo '<p><a href="chapitre.php?idChapitrePrecedent=' . -1 . '&amp;numero=' . $_SESSION['idChapitrePrecedent'] . '&amp;">
		Retourner a la dernière page de choix
		</a></br></p>';
	}
	

	$_SESSION['modeCreationChapitre'] = 0;
?>


<?php include("../Generique/pied.php"); ?>

